package com.shy.test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
 * @author shihaiyanng
 * @date 2021/11/14 4:12 下午
 *
 * 要求：
 *
 * 1.编写一个测试类，在该测试类中使用PrepareStatement 根据name和gender进行数据查询，并将结果打印在控制台。
 *
 * 2.要求编写一个编写一个db.properties , 数据库的数据存放在配置文件中
 *
 * 3.要求自己编写一个工具类DBUtils , 该类中提供静态获取Connection连接的方法.
 */
public class HomeWork2 {

    public static void main(String[] args) throws Exception {
        // 获取数据库链接
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            con = DBUtils.getConnection();
            // 定义sql 按照name 查询
            String sql = "select * from employee where name = ?;";
            ps = con.prepareStatement(sql);
            ps.setString(1, "王五");
            rs = ps.executeQuery();

            // 打印查询到的数据
            System.out.println("按照姓名查询数据");
            while (rs.next()) {
                System.out.println("姓名： " + rs.getString("name"));
                System.out.println("性别： " + rs.getString("gender"));
                System.out.println("工资： " + rs.getString("salary"));
                System.out.println("奖金： " + rs.getString("bonus"));
            }

            String sql2 = "select * from employee where gender = ?;";
            ps = con.prepareStatement(sql2);
            ps.setString(1, "男");
            rs = ps.executeQuery();

            System.out.println("按照性别查询数据");
            while (rs.next()) {
                System.out.print("姓名： " + rs.getString("name"));
                System.out.print(" 性别： " + rs.getString("gender"));
                System.out.print(" 工资： " + rs.getString("salary"));
                System.out.print(" 奖金： " + rs.getString("bonus"));
                System.out.println();
            }
        } finally {
            DBUtils.closeAll(con, ps, rs);
        }


    }
}
